package org.xx.armory.commons;

/**
 * 日期时间格式相关的异常。
 *
 * @author Haart
 */
public class DateFormatException
        extends IllegalArgumentException {
    private static final long serialVersionUID = 1L;

    /**
     * 构造日期时间格式相关的异常。
     *
     * @param argumentName
     *         参数名称。
     * @param argumentValue
     *         参数值。
     */
    public DateFormatException(
            String argumentName,
            Object argumentValue
    ) {
        super(String.format("Invalid date value %s (%s).", argumentName, String.valueOf(argumentValue)));
    }

    /**
     * 构造日期时间格式相关的异常。
     *
     * @param argumentName
     *         参数名称。
     * @param argumentValue
     *         参数值。
     * @param cause
     *         导致异常的原因。
     */
    public DateFormatException(
            String argumentName,
            Object argumentValue,
            Throwable cause
    ) {
        super(String.format("Invalid date value %s (%s).", argumentName, String.valueOf(argumentValue)));
    }

}
